Wang Haihua
🍈 🍉🍊 🍋 🍌
养殖场养殖一类动物最多三年(满三年的将送往市场卖掉),按一岁、二岁和三岁将其分为三个年龄组。一龄组是幼龄组,二龄组和三龄组是有繁殖后代能力的成年组。二龄组平均一年繁殖4个后代,三龄组平均一年繁殖3个后代。一龄组和二龄组动物能养殖成为下一年龄组动物的成活率分别为0.5和0.25。假设刚开始养殖时有三个年龄组的动物各1000头。 (1) 求五年内各年龄组动物数量。 (2) 分析种群的增长趋势。 (3)如果每年平均向市场供应动物数 $C=[s, s, s]^{T}$, 考虑每年都必须保 持有每一年龄组的动物前提下, $s$ 应取多少为好。
(1) 由题设, 出生率向量 $\alpha=\left[\alpha_{1}, \alpha_{2}, \alpha_{3}\right]^{T}=[0,4,3]^{T}$, 成活率向量 $\beta=\left[\beta_{1}, \beta_{2}\right]^{T}=[0.5,0.25]^{T}$, 记幼龄组、二龄组和三龄组动物第 $k$ 年的数量分 别为 $x_{1}(k), x_{2}(k), x_{3}(k), X(k)=\left[x_{1}(k), x_{2}(k), x_{3}(k)\right]^{T}$, 根据出生率和成活率的 题设条件, 建立如下差分方程模型 $$ \left\{\begin{array}{l} x_{1}(k+1)=4 x_{2}(k)+3 x_{3}(k) \\ x_{2}(k+1)=0.5 x_{1}(k) \\ x_{3}(k+1)=0.25 x_{2}(k) \end{array}\right. $$
写成矩阵形式 $$ X(k+1)=\tilde{L} X(k), \quad k=0,1,2, \cdots, $$ 其中, $$ \tilde{L}=\left[\begin{array}{ccc} 0 & 4 & 3 \\ 0.5 & 0 & 0 \\ 0 & 0.25 & 0 \end{array}\right] $$
利用初值条件 $X(0)=[1000,1000,1000]^{T}$, 求得五年内各年龄组动物数量 如表 $13.1$ 所示, 各年龄组动物数量的柱状图如图 $13.1$ 所示。
年份 | 幼龄组 | 二龄组 | 三龄组 |
---|---|---|---|
1 | 7000 | 500 | 250 |
2 | 2750 | 3500 | 125 |
3 | 14375 | 1375 | 875 |
4 | 8125 | 7188 | 344 |
5 | 29781 | 4063 | 1797 |
(2) 为估计种群增长过程的动态趋势, 首先研究一般的状态转移矩阵 Leslie 矩阵 (13.7) 的特征值和特征向量 令 $p(\lambda)$ 为 Leslie 矩阵 (13.7) 的特征多项式, 则 $$ p(\lambda)=|\lambda \boldsymbol{I}-\boldsymbol{L}|=\lambda^{m}-\alpha_{1} \lambda^{m-1}-\alpha_{2} \beta_{1} \lambda^{m-2}-\alpha_{3} \beta_{1} \beta_{2} \lambda^{m-3}-\cdots-\alpha_{m} \beta_{1} \beta_{2} \cdots \beta_{m-1} . $$ 则有下述两个结论。
定理 1: Leslie 矩阵 $L$ 有唯一的正特征根 $\lambda_{1}$, 它是单根, 且相应的特 征向量 $v$ 的所有元素均为正数。
定理 2 如果 Leslie 矩阵 $L$ 的第一行中有两个相邻的元素 $\alpha_{i}$ 和 $\alpha_{i+1}$ 不 为零, 则 $L$ 的正特征根是严格占优的。
定义 1 设 $\lambda_{1}$ 是方阵 $L$ 的一个正的特征根, 若对 $L$ 的其它特征根 $\lambda$, 恒有 $|\lambda| \leq \lambda_{1}\left(|\lambda|<\lambda_{1}\right)$, 则称 $\lambda_{1}$ 为 $L$ 的占优特征根 (严格占优特征根)。 于是, 如果种群有两个相邻的有生育能力的年龄类, 则它的 Leslie 矩阵 有一个严格占优的特征根。实际上, 只要年龄类的区间分得足够小, 总会满 足这个条件。以后总假设定理 2 的条件满足。
现在来研究种群年龄分布的长期性态。为使讨论简单, 设 $L$ 可对角化, 且有 $m$ 个特征根 $\lambda_{1}, \lambda_{2}, \cdots, \lambda_{m}$, 以及对应于它们的线性无关的特征向量 $v_{1}, v_{2}, \cdots, v_{m}$, 这些特征向量组成矩阵 $P=\left[v_{1}, v_{2}, \cdots, v_{m}\right]$, 则 $L$ 的对角化可由下 式给出 $$ \boldsymbol{L}=\boldsymbol{P}\left[\begin{array}{lll} \lambda_{1} & & \\ & \ddots & \\ & & \lambda_{m} \end{array}\right] \boldsymbol{P}^{-1}, $$ 由此推得 $$ \boldsymbol{L}^{k}=\boldsymbol{P}\left[\begin{array}{ccc} \lambda_{1}^{k} & & \\ & \ddots & \\ & & \lambda_{m}^{k} \end{array}\right] \boldsymbol{P}^{-1}, $$
对于任何一个给定的初始年龄分布向量 $X(0)$, 有 $$ X(k)=L^{k} X(0)=P\left[\begin{array}{lll} \lambda_{1}^{k} & & \\ & \ddots & \\ & & \lambda_{m}^{k} \end{array}\right] P^{-1} X(0), $$ 由于 $\lambda_{1}$ 为严格占优的特征根,故 $\left|\lambda_{i} / \lambda_{1}\right|<1, i=2,3, \cdots, m$ 。从而 $$ \lim _{k \rightarrow+\infty}\left(\frac{\lambda_{i}}{\lambda_{1}}\right)^{k}=0, i=2,3, \cdots, m, $$
由此知 $$ \lim _{k \rightarrow+\infty} \frac{X(k)}{\lambda_{1}^{k}}=P\left[\begin{array}{cccc} 1 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & \cdots & 0 \end{array}\right] P^{-1} X(0) $$
记列向量 $P^{-1} X(0)$ 的第一个元素为 $c$, 即 $P^{-1} X(0)=\left[c, *, \cdots,{ }^{*}\right]^{T}$, 则 $$ P\left[\begin{array}{cccc} 1 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & \cdots & 0 \end{array}\right] P^{-1} X(0)=\left[v_{1}, v_{2}, \cdots, v_{m}\right]\left[\begin{array}{c} c \\ 0 \\ \vdots \\ 0 \end{array}\right]=c v_{1}, $$ 其中, $c$ 为常数, 仅与初始年龄分布有关, 则 $$ \lim _{k \rightarrow+\infty} \frac{X(k)}{\lambda_{1}^{k}}=c v_{1}, $$
因此当 $k$ 很大时, $$ X(k) \approx c \lambda_{1}^{k} v_{1}, $$ 而 $X(k-1) \approx c \lambda_{1}^{k-1} v_{1}$, 所以对充分大的 $k$, 有 $$ X(k) \approx \lambda_{1} X(k-1), $$ 这意味着对于充分长的时间,每一个年龄分布向量就是它前一期年龄分布 向量的 $\lambda_{1}$ 倍。 进一步得出,对时间充分长时种群的年龄分布有三种可能情况。1) 若 $\lambda_{1}>1$, 则种群最终为增加;2) 若 $\lambda_{1}<1$, 则种群数量最终为减少;
3)若 $\lambda_{1}=1$, 则种群为稳定。 本题中 Leslie 矩阵 $$ \tilde{\boldsymbol{L}}=\left[\begin{array}{ccc} 0 & 4 & 3 \\ 0.5 & 0 & 0 \\ 0 & 0.25 & 0 \end{array}\right] $$ $\tilde{L}$ 的最大特征值为 $\lambda_{1}=1.5$, 对应的特征向量 $$ v_{1}=[0.9474,0.3158,0.0526]^{T} \text {. } $$ 计算得 $c=3000$ 。 因而, 当 $k \rightarrow+\infty$ 时, 该种群的数量趋于无穷。
(3)如果每年平均向市场出售动物 $C=[s, s, s]^{T}$, 分析动物分布向量变化规律, 可知 $$ X(k+1)=\tilde{L} X(k)-C, \quad k=0,1,2, \cdots $$ 所以有 $$ X(k)=\tilde{L}^{k} X(0)-\left(\tilde{L}^{(k-1)}+\tilde{L}^{(k-2)}+\cdots+\tilde{L}+I\right) C, \quad k=1,2, \cdots $$
考虑每年都必须保持有每一年龄组的动物, 应该有 $X(k)$ 的所有元素都 要大于零。利用 Python 程序, 输入不同的参数 $s$, 观察数据计算结果, 由实验结果可知, 当取 $s=100$ 时, 能保证每一年龄组动物数量不为零。
参考资料
import numpy as np
from numpy.linalg import eig, inv
from matplotlib.pyplot import bar, show, legend, rc, plot
rc('font',size=16); rc('font',family='SimHei')
L=np.array([[0,4,3],[0.5,0,0],[0,0.25,0]])
X=1000*np.ones((3,1)); TX=np.zeros((3,5))
for i in range(5): X=L.dot(X); TX[:,i]=X.flatten()
print("TX=",TX)
for i in range(3): bar(np.arange(1,6)-0.25+i/4,TX[i],width=0.2)
legend(('幼龄组','二龄组','三龄组')); show()
TX= [[ 7000. 2750. 14375. 8125. 29781.25 ] [ 500. 3500. 1375. 7187.5 4062.5 ] [ 250. 125. 875. 343.75 1796.875]]
val,vec=eig(L) #计算特征值及对应的特征向量
cv=inv(vec).dot(1000*np.ones(3)); c=abs(cv[0])
print("特征值=",val,"\n特征向量为:\n",vec,'\nc=',c)
s=int(input("输入s的值:")); m=10 #计算10年
TY=[]; Y=np.ones(3)*1000; TY=np.zeros((m,3))
for i in range(1,m+1):
Y=L.dot(Y)-s*np.ones(3); TY[i-1,:]=Y.flatten()
plot(np.arange(1,m+1),TY)
legend(('幼龄组','二龄组','三龄组')); show()
特征值= [ 1.5 -1.30901699 -0.19098301] 特征向量为: [[ 0.94736842 -0.93201073 0.225884 ] [ 0.31578947 0.35599642 -0.591372 ] [ 0.05263158 -0.06798927 0.774116 ]] c= 3000.0 输入s的值:20